package utils;

import common.JsonResult;

/**
 * Created with IntelliJ IDEA.
 * User: ljc
 * Date: 2022/12/08 14:31
 * Description:
 * Version: V1.0
 * 封装JsonResult,并且给前端返回标准数据的工具类
 * 1.JsonResult一定会new一个对象,并且给字段code/msg/data赋值
 * 2.根据返回的状态/信息不同, 字段值不同
 * 3.状态根据业务的成功/失败决定的
 * 4.工具类不需要多个对象调用,所以考虑用static
 * @author: ljc
 */
public class ResponseUtil {

    /**
     * 返回成功的结果
     * code固定为200
     * @param msg
     * @param data 针对像查询操作的返回结果
     */
    public static JsonResult success(String msg,Object data){
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(200);
        jsonResult.setMsg(msg);
        jsonResult.setData(data);
        return jsonResult;
    }

    /**
     * 设计一个重载, 不带数据,适合增删改操作
     * @param msg
     * @return
     */
    public static JsonResult success(String msg){
        return  success(msg,null);
    }

    /**
     * 从语义上,把成功和失败的处理方法分开
     * @param code
     * @param msg
     * @return
     */
    public static JsonResult failed(int code, String msg){
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(code);
        jsonResult.setMsg(msg);
        return jsonResult;
    }
}
